chore(agentic-ci): declare numpy as direct dep of data-designer-engine#676
Conversation
…r-engine The engine package imports numpy directly (e.g. `from numpy.typing import NDArray` in `sampling_gen/constraints.py`) but only declared it transitively via `data-designer-config`. Add `numpy>=1.23.5,<3` to the engine's own `[project.dependencies]`, matching the specifier already used by the config package. No runtime behavior changes.
Greptile SummaryThis PR promotes
|
| Filename | Overview |
|---|---|
| packages/data-designer-engine/pyproject.toml | Adds numpy>=1.23.5,<3 as a direct dependency, matching the version specifier already used in data-designer-config, correctly placed in alphabetical order. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[data-designer-engine] -->|direct dep - NEW| N[numpy >=1.23.5,<3]
A -->|direct dep| C[data-designer-config]
C -->|direct dep - existing| N
A -->|direct dep| SC[scipy]
A -->|direct dep| NX[networkx]
Reviews (4): Last reviewed commit: "Merge branch 'main' into agentic-ci/chor..." | Re-trigger Greptile
|
/authorize-agentic-ci |
Summary
Declare
numpyas a direct dependency ofdata-designer-engine.Why
Per
AGENTS.mdand the dependencies-suite audit (2026-05-19): theengine imports
numpydirectly but onlydata-designer-configdeclared it. Engine relied on transitive resolution via the config
package, which works for the monorepo install but is fragile if
data-designer-engineis ever installed standalone, and it bypassesthe "each package declares what it directly imports" contract.
Direct imports detected:
packages/data-designer-engine/src/data_designer/engine/sampling_gen/constraints.py(
from numpy.typing import NDArrayat module import time, plusimport numpy as npunderTYPE_CHECKING)packages/data-designer-engine/src/data_designer/engine/sampling_gen/data_sources/base.py(TYPE_CHECKING-guarded
import numpy as npandfrom numpy.typing import NDArray)(Audit also flagged additional engine modules using
numpyvia thelazy-import system — those will be covered by their own findings if
present; this PR only adds the missing declaration.)
What changed
A single line —
"numpy>=1.23.5,<3",— added to the[tool.hatch.metadata.hooks.uv-dynamic-versioning].dependencieslistin
packages/data-designer-engine/pyproject.toml, in alphabeticalposition between
networkxandpython-multipart. The specifier iscopied verbatim from
packages/data-designer-config/pyproject.tomlwhere
numpy>=1.23.5,<3is already declared, so no version-rangereconciliation is required.
Tests
make install-devresolved the lockfile cleanly (only the engine'sown version metadata changed in
uv.lock).make test-engine— 2055 passed in 34.91s.Provenance
Generated by the agentic-ci
dependenciessuite (daily run,2026-05-19). Finding id
b10e09fc453c, fix confidence 0.85, severityhigh (heavy import bypassing the declared-deps contract).